100 DIMA$(12),P%(18),T%(8,3):CM=54272 110 V1=54296:W1=54276:A1=54277:H1=54273:L=54272:POKE53281,0:POKE53280,5 150 I=RND(-TI):GOSUB9000 160 F=0:M=1:U=1:X=160:Y=81:Z=1024 200 D$="" 210 A$(0)=" [223][223][157][157][157][223][146] [223][157][157][157][223][223][146] " 220 A$(1)="[223][146] *[157][157][157][146][223][223][146] " 230 A$(2)="[223][223][157][157][146] [223][157][157]*[146] " 240 A$(3)="[169][146][169][157][157][169] [157][157] *" 250 A$(4)="[169][146][169] [157][157][157][169] *" 260 A$(5)="":A$(7)="" 270 A$(6)=" *[146] [157][157][157]***[146][157][157][157] *[146] " 280 A$(8)=" [223][223][157][157][157]*[146] [223]" 290 A$(9)=" *[157][157][223][146] [157][157][223][223]" 300 A$(10)="*[146] [157][157] [169][157][157][169][146][169]" 310 A$(11)="*[146] [169][157][157][157][146] [169][146][169]" 320 A$(12)="[169][146][169] [157][157][157][169] [169][157][157][157][146] [169][146][169]" 330 Z$="":FORI=1TO39:Z$=Z$+" " 340 NEXT:Z$=Z$+"" 350 IFV<.2THENA$(2)=" [146] [157][157] *[157][157] [146] " 360 IFV<.4THENA$(8)=" *[146] [157][157][157] " 400 FORI=1TO8:T%(I,1)=203:T%(I,2)=-1 410 T%(I,3)=X:NEXT 500 PRINT"[147]":FORI=1TO3 510 GOSUB7000:FORJ=1TO6 520 GOSUB7100:PRINT" ":NEXTJ,I 530 GOSUB7000 540 POKE1105,233:POKE1141,223 550 POKE1945,95:POKE1981,105 560 FORI=1TO10:READJ:POKEZ+J,96:NEXT 600 FORI=65TO82:K$=CHR$(I) 610 GOSUB7200:IFP%(A)=5THENNEXT 620 IFRND(1)<.5THENP%(A)=12-P%(A) 630 PRINT"[145]";K$;"[157]";A$(P%(A)):NEXT 640 PRINT" [146][145][164][157]_[165][157][157][163]" 650 B=TI 1000 T=TI 1010 GETK$:IFK$<"A"ORK$>"R"THEN2000 1020 GOSUB7200:P%(A)=12-P%(A) 1030 PRINTA$(P%(A)) 2000 D=T%(U,2):P=Z+T%(U,1):K=T%(U,3) 2010 IFK=XTHEN2050 2020 IFK=YORK=170ORK=32THEN6000 2040 D=40/D:IFKAND32THEND=-D 2050 T%(U,2)=D:POKEP,T%(U,3) 2060 IFPEEK(P+D)=96THENT%(U,2)=SGN((UAND1)-.5)*40/D:GOTO2000 2070 POKEP+CM,1:P=P+D:T%(U,3)=PEEK(P):POKEP,Y:POKEP+CM,7 2080 T%(U,1)=T%(U,1)+D 2090 FORI=1TO180/M-7*M:NEXT 2100 U=U+1:IFU>MTHENU=1 2110 IFTI-T=<800*(1+RND(1))THEN1010 2115 IFTI-B>14400THEN6300 2120 IFFTHEN5200 2130 IFRND(1)" "THEN4500 4510 PRINT"[147]";:RETURN 5000 Q=6-5*(RND(1)<.5)+INT(3*RND(1)) 5010 K$=CHR$(Q+64):F=1 5020 PRINTZ$;" POINTS AT ";K$;" CLOSING DOWN SOON" 5030 PRINT"ABC" 5040 GOSUB7200:PRINT"[145]";K$:RETURN 5200 PRINTZ$;:IFF=2THEN5400 5210 A=Q:GOSUB7205:PRINTA$(6) 5220 P%(A)=6:F=2:GOTO1000 5400 F=0:A=Q:P%(A)=0 5410 PRINT"POINTS NOW CLEAR" 5420 GOSUB7205:PRINTA$(0):GOTO1000 6000 B=INT((TI-B)/60) 6010 PRINTZ$;"CRAAAASH !!!!!" 6020 S=37:FORI=0TO9:RESTORE:FORJ=1TO9 6030 READC:POKEP+C,S+I:NEXTJ,I 6040 FORI=1TO4000:NEXT 6050 PRINT"[147]YOU SURVIVED FOR";B;"SECONDS" 6060 PRINT"YOUR SCORE IS";INT(100*(B/240)^(1-V));"%" 6070 PRINT"PLAY AGAIN (Y/N)" 6080 GETK$:IFK$="N"THENEND 6090 IFK$<>"Y"THEN6080 6100 RESTORE:GOSUB9500:GOTO160 6300 FORI=0TO2000:NEXT 6310 PRINT"[147]YOU LASTED OVER FOUR MINUTES!!!" 6320 PRINT"DOES THE B. C. RAILWAY KNOW ABOUT YOU ?" 6330 GOTO6070 7000 PRINT"";:FORJ=1TO37 7010 PRINT" ";:NEXT:PRINT:RETURN 7020 S=36:FORI=0TO9:RESTORE:FORJ=1TO9 7030 READC:POKEP+C,S:NEXTJ 7040 S=79-S:NEXTI 7100 PRINT"";:FORK=1TO4 7110 PRINT" [146] ";:NEXT:RETURN 7200 A=ASC(K$)-64 7205 R=INT(A/5):C=9*(A-5*R) 7210 PRINTLEFT$(D$,2+7*R);SPC(C); 7220 RETURN 8000 DATA -41,-40,-39,1,41,40,39,-1,0 8010 DATA 1,1,5,5,5,0,0,0,5 8110 DATA 2,5,0,5,3,5,4,5,4 8200 DATA 1,1,1,5,5,0,5,0,3 8210 DATA 2,0,0,5,5,5,5,4,4 8300 DATA 1,1,1,5,2,0,0,0,3 8310 DATA 2,0,0,0,3,5,4,4,4,0 8400 DATA 50,59,68,200,360,398 8410 DATA 640.678,970,979,988 9000 PRINT"[147]":GOTO9500 9010 K$=" TRAINS":GOSUB4000 9020 K$=" [163][163][163][163][163][163]":GOSUB4000:PRINT 9030 K$=" BY J.AUGHTON":GOSUB4000 9040 PRINT"ALWAYS PRESS THE SPACE BAR WHENEVER YOU" 9050 PRINT" ARE READY TO PROCEED TO THE NEXT PAGE" 9060 GOSUB4500 9310 PRINT"TRY TO CONTROL THE TRAINS AS THEY GO" 9320 PRINT"ROUND THE SYSTEM . EACH OF THE POINTS" 9330 PRINT"IS LABELLED WITH A LETTER A-R.YOU CAN" 9340 PRINT"SWITCH THE POINTS BY PRESSING THE KEY" 9350 PRINT"HAVING THE SAME LETTER.KEEP THEM MOVING" 9360 PRINT"AS LONG AS YOU CAN!!" 9370 PRINT"IN THE EVENT OF ANY ACCIDENTS,THE GAME" 9380 PRINT"STOPS AND YOUR SCORE IS GIVEN" 9390 PRINT"AT IRREGULAR INTERVALS SOME POINTS MAY" 9400 PRINT"CLOSE FOR A WHILE FOR REPAIRS.KEEP AN" 9410 PRINT"EYE ON THE TOP OF THE SCREEN FOR DETAILS" 9420 GOSUB4500 9500 PRINT"CHOOSE DIFFICULTY LEVEL 1,2 OR 3" 9505 PRINT"1=EASY...3=HARD...--YOUR CHOICE"; 9510 INPUT"1[157][157][157]";K$:V=ASC(K$)-48 9520 IFV<1ORV>3THEN9505 9530 FORI=1TO9+18*(V-1):READS:NEXT 9540 FORI=1TO18:READP%(I):NEXT 9550 FORI=0TO18*(3-V):READS:NEXT 9560 N=2+2*V:V=V/7:RETURN